package persistencia;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import util.Conexion;
import bean.Opcion;

public class PermisosDAO {

	public List<Opcion> buscar(String descripcion) throws SQLException {
		Opcion opcion = null;
		List<Opcion> opciones = new ArrayList<Opcion>();
		PreparedStatement pstm = Conexion
				.obtenerConexionPRUEBA()
				.prepareStatement("Select * from TOPCION where desc_opc like ?");
		pstm.setString(1, descripcion + "%");
		ResultSet rs = pstm.executeQuery();
		while (rs.next()) {
			opcion = new Opcion();
			opcion.setCodigo(rs.getInt("cod_opc"));
			opcion.setDescripcion(rs.getString("desc_opc"));
			opciones.add(opcion);
		}
		rs.close();
		pstm.close();
		Conexion.obtenerConexion().close();
		return opciones;
	}

	public int registrarOpcion(Opcion opcion) throws SQLException {
		PreparedStatement pstm1 = Conexion
				.obtenerConexionPRUEBA()
				.prepareStatement(
						"SELECT NEXTVAL FOR PRUEBA.CODOPCION FROM SYSIBM.SYSDUMMY1");
		ResultSet rs = pstm1.executeQuery();
		rs.next();
		int codigo = rs.getInt(1);
		PreparedStatement pstm2 = Conexion.obtenerConexionPRUEBA()
				.prepareStatement(
						"insert into TOPCION(cod_opc,desc_opc) values(?,?)");
		pstm2.setInt(1, codigo);
		pstm2.setString(2, opcion.getDescripcion());
		pstm2.executeUpdate();
		
		pstm1.close();
		rs.close();
		pstm2.close();
		Conexion.obtenerConexionPRUEBA().close();
		return codigo;
	}
}
